﻿import pygame
from pygame.locals import *
from pgu import gui

from Forms import *
from Client import *

"""
для гуи используется модуль pgu для pygame
(здесь http://code.google.com/p/pgu/downloads/list можно скачать http://code.google.com/p/pgu/downloads/detail?name=pgu-0.16.zip&can=2&q=)
кнопки отсылают нужные команды серверу, а бесконечный разгреб очереди сообщений интерпретирует некоторые сообщения для 
отрисовки тек. ситуации, отображения списка юзверей и выдачи сообщений в виде модальных месенджей
"""

sys.setcheckinterval(1) 
client = Client()

#инициализация pygame и pgu структур
screen = pygame.display.set_mode((320, 300), SWSURFACE)
app = gui.App()
gui_c = GUI(client)
app.init(gui_c)

client.start(gui_c)

#крутим бесконечный цикл ГУИ, отрисовки, событий
done = False
while not done:
	for e in pygame.event.get():
		if e.type is QUIT: 
			done = True
		elif e.type is KEYDOWN and e.key == K_ESCAPE: 
			done = True
		else:
			app.event(e)
	
	screen.fill((250,250,250))
	client.receve() #в цикле переодически пытаемся разобрать очередь сообщений
	app.paint()
	pygame.display.flip()
